1. Field of the Invention
Embodiments of the present invention relate to computer systems having one or more non-volatile mass storage devices. More specifically, embodiments of the present invention relate to improving data integrity and system performance within a computer system that utilizes non-volatile data storage media or a non-volatile file system.
2. Related Art
Demand for non-volatile file systems is growing with particular demand for hand held or otherwise portable computer systems. Non-volatile file systems offer increased protection against data loss due to power loss for portable devices which often are battery operated and may be exposed to the risk of power loss due to battery discharge, replacement or failure. In the event of an unexpected power loss, data is typically maintained within a non-volatile file system.
Computer systems that include a non-volatile file system often consume substantial resources writing data to the non-volatile memory device, e.g., a flash memory or a hard drive. Moreover, non-volatile memory file systems must frequently write data in order to preserve it in case of a catastrophic power loss or device reboot. Unfortunately, both flash memory and hard drive devices have write latencies or delays that can degrade the user experience of such computer systems that frequently access the non-volatile memory device. For instance, hard drive devices have spin-up and track seek delays. Flash memory requires entire pages to be erased and re-written during write operations. Further, flash memory requires load balancing to prevent memory failure due to over-use. Both of these factors increase write latency for flash memory devices.
In addition to system performance issues described above, frequent access to the non-volatile memory device may also lead to system failure due to mechanical and/or electrical fragility of these devices. For instance, frequent use of the hard drive may lead to mechanical failure thereof, or, may increase the likelihood of data loss or damage in the event that the device is dropped or otherwise shocked during a read/write operation. Also, frequent use of the flash memory device may lead to electrical failure attributed to over-use of the same memory cells.
It would be advantageous to provide a computer system having a non-volatile file system with improved system performance. It would be advantageous to provide a computer system having a non-volatile file system that is less susceptible to mechanical and/or electrical failure of the non-volatile memory device.